#include <iostream>
#include <vector>
#include <unordered_map>
using namespace std;
#define int long long 
const int N = 100000010;
vector<bool> is_prime(N + 10, true);
vector<int> a;
void func() {   
    is_prime[0] = is_prime[1] = false;   // 0 和 1 不是素数
    for (int i = 2; i * i <= N; ++i) {
        if (is_prime[i]) {  // i 是素数
            for (int j = i * i; j <= N; j += i) {
                is_prime[j] = false;  // 将 i 的倍数标记为非素数
            }
        }
    }
    for(int i = 0; i < N; i++) {
        if(is_prime[i]) {
            a.push_back(i);
        }
    }
}
signed main() {
    ios::sync_with_stdio(false); // 关闭与stdio的同步
    cin.tie(nullptr);            // 解除cin和cout的绑定
    cout.tie(nullptr);           // 可选（解除cout绑定）
    int n, q;
    cin >> n >> q;
    func();
    while(q--) {
        int temp;
        cin >> temp;
        cout << a[temp - 1] << endl;
    }
    return 0;
}